package com.xyzwps.paimon.furina.modules.me

import com.xyzwps.paimon.furina.common.value.AvatarUrl
import com.xyzwps.paimon.furina.common.value.Nickname
import com.xyzwps.paimon.furina.common.value.UserDescription
import com.xyzwps.paimon.furina.modules.userinfo.entity.UserInfo

data class RichMeInfoDTO(
    val userId: Long,
    val info: MeUserInfoDTO?
)

data class MeUserInfoDTO(
    val nickname: Nickname,
    val avatar: AvatarUrl,
    val description: UserDescription,
) {
    constructor(userInfo: UserInfo) : this(
        nickname = userInfo.nickname,
        avatar = userInfo.avatar,
        description = userInfo.description,
    )
}

data class UpdateMeUserInfoPayload(
    val nickname: Nickname,
    val avatar: AvatarUrl,
    val description: UserDescription,
)